#! python3
# 利用 subprocess 模块从 Python 启动其他程序

import subprocess
import time

if __name__ == '__main__':
    # # subprocess.Popen('D:\\Program Files (x86)\\Beyond Compare 3\\BCompare.exe')
    # caclProc = subprocess.Popen('calc.exe')
    # print(type(caclProc))
    # #  程序是否执行完python给它的代码
    # if caclProc.poll() is None:  # 正在运行
    #     print(caclProc.wait())  # 等待程序执行完成：python将被阻塞，直到启动的进程终止
    # print(caclProc.poll())

    #  向 Popen()传递命令行参数：启动记事本，打开文件
    # subprocess.Popen(['notepad.exe', 'F:\\Download\\a.txt'])

    #  运行其他 Python 脚本
    # subprocess.Popen(['python.exe', 'D:\\workspacePython\\pythonStudy\\chp11_web\\loginAndSendEmail.py'])
    # subprocess.Popen(['python.exe', '../chp11_web/loginAndSendEmail.py'])

    #  用默认的应用程序打开文件
    fileObj = open('F:\\Download\\hello.txt', 'w')
    fileObj.write('Hello world!')
    fileObj.close()
    #  每个操作系统都有一个程序，其行为等价于双击文档文件来打开它。
    #  在 Windows 上，这是 start 程序。
    #  在 OS X 上，这是 open 程序。
    #  在 Ubuntu Linux 上，这是 see 程序。
    #  shell = True 关键字参数，这只在 Windows 上需要
    subprocess.Popen(['start', 'F:\\Download\\hello.txt'], shell=True)
